package database;

import java.util.ArrayList;
import java.util.List;

import noten.Modul;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

public class NotenDatabaseService {

	private SQLiteDatabase db;
	
	public NotenDatabaseService(SQLiteDatabase db) {
		this.db = db;
	}
	
	public void insertNoten(List<Modul> module) {
		
		db.delete(INotenTable.NAME, null, null);	
	
		for (Modul item : module) {

			ContentValues values = new ContentValues();
			values.put(INotenTable.MODUL, item.getBezeichnung());
			values.put(INotenTable.BEWERTUNG, item.getBewertung());
			
			if (item.isW1())
				values.put(INotenTable.WDH, 1);
			if (item.isW2())
				values.put(INotenTable.WDH, 2);
			
			db.insert(INotenTable.NAME, null, values);
		}	
	}
	
	public List<Modul> getNoten() {
		
		Cursor cursor = db.query(INotenTable.NAME, null, null, null, null, null, null);		
		ArrayList<Modul> module = new ArrayList<Modul>();
		
		while(cursor.moveToNext())
		{
			Modul modul = new Modul();
			modul.setBezeichnung(cursor.getString(cursor.getColumnIndex(INotenTable.MODUL)));
			modul.setBewertung(cursor.getFloat(cursor.getColumnIndex(INotenTable.BEWERTUNG)));
			
			Integer wdh = cursor.getInt(cursor.getColumnIndex(INotenTable.WDH));
			
			modul.setW1(wdh == 1);
			modul.setW2(wdh == 2);
			
			module.add(modul);
		}
		return module;
	}
	
	public void close() {
		db.close();
	}
}
